package com.peng.leetcode.tree;

/**
 * LowestCommonAncestorByDfs1
 * <p>
 * Created on 2022/11/27
 *
 * @author lupeng
 */
public class LowestCommonAncestorByDfs1 {

    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if (root == null) {
            return null;
        }
        if (root.val == p.val || root.val == q.val) {
            return root;
        }
        TreeNode l = lowestCommonAncestor(root.left, p, q);
        TreeNode r = lowestCommonAncestor(root.right, p, q);
        if (l == null) {
            return r;
        }
        if (r == null) {
            return l;
        }
        return root;
    }
}
